package com.dt.app.modules.customer.entities;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author 陈辉
 * @since 2024-03-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("customer")
@ApiModel(value="Customer对象", description="")
public class Customer implements Serializable {

    private static final long serialVersionUID=20240313231613321L;

    @ApiModelProperty(value = "用户")
    @TableId(value = "customer_id", type = IdType.AUTO)
    private Long customerId;

    @ApiModelProperty(value = "推广会员id")
    @TableField("to_customer_id")
    private Long toCustomerId;

    @ApiModelProperty(value = "区域全路径")
    @TableField("region_path")
    private String regionPath;

    @ApiModelProperty(value = "域名后缀")
    @TableField("url_name")
    private String urlName;

    @ApiModelProperty(value = "登录账号")
    @TableField("login_name")
    private String loginName;

    @ApiModelProperty(value = "密码")
    @TableField("password")
    private String password;

    @ApiModelProperty(value = "姓名")
    @TableField("user_name")
    private String userName;

    @ApiModelProperty(value = "电话")
    @TableField("telephone")
    private String telephone;

    @ApiModelProperty(value = "地址")
    @TableField("address")
    private String address;

    @ApiModelProperty(value = "邮箱")
    @TableField("email")
    private String email;

    @ApiModelProperty(value = "1激活 0失效")
    @TableField("status")
    private Integer status;

    @ApiModelProperty(value = "最后登录时间")
    @TableField("last_loging_time")
    private LocalDateTime lastLogingTime;

    @ApiModelProperty(value = "创建时间")
    @TableField("create_time")
    private LocalDateTime createTime;

    @ApiModelProperty(value = "最后续费时间")
    @TableField("last_xf_time")
    private LocalDateTime lastXfTime;

    @ApiModelProperty(value = "注册来源1pc 2android 3iso")
    @TableField("reg_from")
    private Integer regFrom;

    @ApiModelProperty(value = "积分(剩余积分)")
    @TableField("integral")
    private Integer integral;

    @ApiModelProperty(value = "总积分")
    @TableField("integral_count")
    private Integer integralCount;

    @ApiModelProperty(value = "金币")
    @TableField("gold")
    private Integer gold;

    @ApiModelProperty(value = "会员等级")
    @TableField("level")
    private Integer level;

    @ApiModelProperty(value = "1锁定 0未锁定 登录超过次数")
    @TableField("locked")
    private Integer locked;

    @ApiModelProperty(value = "经度")
    @TableField("longitude")
    private BigDecimal longitude;

    @ApiModelProperty(value = "纬度")
    @TableField("latitude")
    private BigDecimal latitude;

    @ApiModelProperty(value = "获取经纬度时间")
    @TableField("nearby_time")
    private LocalDateTime nearbyTime;

    @ApiModelProperty(value = "语言编码")
    @TableField("language")
    private String language;

    @ApiModelProperty(value = "生日")
    @TableField("birthday")
    private LocalDate birthday;

    @ApiModelProperty(value = "1男 2女 3其他")
    @TableField("sex")
    private Integer sex;

    @ApiModelProperty(value = "头像地址")
    @TableField("head_portrait")
    private String headPortrait;

    @ApiModelProperty(value = "手机品牌型号")
    @TableField("tel_version")
    private String telVersion;

    @ApiModelProperty(value = "推广员编码 谁推荐我安装的")
    @TableField("promote_num")
    private String promoteNum;

    @ApiModelProperty(value = "微信openid 小程序")
    @TableField("wx_open_id")
    private String wxOpenId;

    @ApiModelProperty(value = "公众号")
    @TableField("wxgzh_open_id")
    private String wxgzhOpenId;

    @ApiModelProperty(value = "历史充值号码,号隔开")
    @TableField("cz_tels")
    private String czTels;

    @ApiModelProperty(value = "单点登录标识")
    @TableField("unionid")
    private String unionid;

    @ApiModelProperty(value = "水印签名图片")
    @TableField("qm_img")
    private String qmImg;

    @ApiModelProperty(value = "开票识别码")
    @TableField("kp_no")
    private String kpNo;

    @ApiModelProperty(value = "开票名称")
    @TableField("kp_name")
    private String kpName;

    @ApiModelProperty(value = "0未删除 1删除")
    @TableField("deleted")
    @TableLogic
    private Integer deleted;


}
